這篇名為《Exploratory testing for platform video games: strategies and lessons learned
》的研究,將探索性測試方法應用到「平台跳躍遊戲」中。讓我們來詳細介紹他們是怎麼做的!
Exploratory testing for platform video games: strategies and lessons learned
Yohan Duarte, Henrique Canella Mandelli,Vinicius Durelli, Paulo Augusto Nardi, Andre Takeshi Endo, 05 July 2024
第一部分:為什麼我們需要更好的遊戲測試?
近年來,全球數位遊戲市場是一塊超級大餅,2021 年的營收大約是 1803 億美元,而到了 2027 年,預計會飆升到 3631.9 億美元。
然而,遊戲越賺錢,玩家對品質的要求也就越高。如果遊戲發佈時充滿瑕疵,不僅會毀了玩家的體驗,還會讓公司面臨巨大的財務與公關危機。
既然測試這麼重要,那為什麼遊戲公司還是常常出包?因為「遊戲測試」比「一般軟體測試」複雜太多了。在開發遊戲時,開發者通常會優先考慮「這個遊戲好不好玩?」,也就是把重點放在趣味性、機制的平衡以及玩家的體驗上,相對之下,嚴謹的技術層面測試往往會被擺在次要的位置。
此外,測試遊戲很難用「寫程式自動跑」的方式來進行。一般的 App 或網頁可以寫腳本讓電腦自動狂點,但遊戲裡的程式碼跟玩家看到的畫面(使用者介面)綁得非常緊,而且玩家遊玩的狀態變化無窮,每一秒的操作都會產生不同的結果,這導致「自動化測試」在遊戲界很難大規模推行。
因此,現在遊戲業界最主流的作法,還是仰賴「真人手動測試」,也就是請測試員坐在螢幕前,憑藉著經驗實際去玩遊戲。在這種黑箱測試的過程中,玩家輸入指令,遊戲給出畫面反饋,測試員就在這個迴圈中尋找錯誤。然而,傳統的手動遊玩測試往往缺乏系統性,太過依賴測試員個人的直覺。
第二部分:救星登場:「探索性測試(ET)」
為了解決手動測試太過隨機的問題,他們研究引入了探索性測試。為了驗證探索性測試的威力,研究團隊挑選了「平台遊戲(Platform Games)」作為實驗對象。平台遊戲是大家最熟悉的類型,核心玩法就是「控制角色跨越障礙,從 A 點移動到 B 點」,例如經典的《超級瑪利歐》。
研究團隊精心挑選了5款平台遊戲,包含 2D 的獨立小遊戲和 3D 的商業大作,藉此測試這套方法是不是「大小通吃」:
Game 1 (Little Spy / 小間諜)*:2021 年發布的 2D 開源獨立遊戲,玩家扮演間諜在敵區收集情報、躲避敵人,最後搭直升機撤離。
Game 2 (Diver Down):2018 年發布的 2D 遊戲,特色是玩家可以「潛入」固體表面中移動,藉此躲避光線並通關。
Game 3 (Tiny Crate):2021 年發布的 2D 遊戲,玩家必須不斷舉起並投擲板條箱,自己搭建平台來爬到高處。
(這三款遊戲都是使用 Godot 開源引擎製作的,雖然是獨立遊戲,但機制都有一定的複雜度。)
Game 4 (Portal / 傳送門):Valve 公司 2007 年推出的 3D 經典神作。玩家手持傳送門槍,在實驗室裡解開各種空間謎題。
Game 5 (Portal 2 / 傳送門 2)*:2011 年的續作,地圖變得更龐大,還加入了會改變物理特性的凝膠液體、重力通道等超複雜機制。
(這兩款大作被選中,是因為它們非常成熟、機制複雜,可以測試這套方法在面對高難度 3D 遊戲時的極限。)
第三部分:七大測試策略
他們把一般軟體的測試策略,完美包裝成了7種不同的玩家遊玩風格。測試員不再是漫無目的亂走,而是帶著特定的「人設」去測試遊戲。
(1) 觀光客策略 (Tour Bus Strategy)
你可以把這想像成有「完美主義」或「白金收集控」的玩家。在測試中,通關路線就是觀光客的「主要行程」;但只要看到路邊有有趣的道具、沒走過的分支路線,測試員就會停下腳步「下車拍照」探索一番,然後再回到主線上。這種策略能確保遊戲的主線與主要分支都被穩定地走過一遍。
(2) 探索性冒煙測試 (Exploratory Smoke Testing)
這是一種「毫無規則、隨心所欲」的瘋狂測試。測試員不需要遵循任何指引,想到什麼就做什麼。它主要用來解答測試員腦中突發奇想的「如果我這樣做會怎樣?(what if)」。例如:如果我在過場動畫時瘋狂按暫停會怎樣?這招能找出很多意料之外的崩潰。
(3) 連續犯罪之旅 (Crime Spree Tour)
這是一個專門「找碴」的策略。測試員會像個罪犯一樣,鎖定遊戲的某個特定功能,然後想盡辦法去破壞它。
在遊戲中,這意味著測試員會故意把遊戲機制用在不該用的地方,或是挑戰系統的極限邊界。例如:把應該放在地上的解謎方塊,硬是卡進門縫裡,看看遊戲的物理引擎會不會崩潰。
(4) 垃圾收集者之旅 (Garbage Collectors Tour)
你可以直接把這招理解為玩家社群中超紅的「競速通關 (Speedrunning)」。就像垃圾車趕時間收垃圾一樣,測試員設定一個目標後,會用最快的速度去達成它,途中忽略所有不必要的元素。當測試員腦中只想著「我要怎麼走捷徑、怎麼最快過關」時,往往會逼迫遊戲產生來不及運算或未預期的漏洞。
(5) 後巷之旅 (Back Alley Tour)
不走大馬路,專挑暗巷走!這招專門針對遊戲裡「最少被玩家使用」的功能。
測試員會故意去走那些非傳統的通關路線、尋找隱藏元素,甚至去亂動開發者控制台或冷門的設定選項。越是沒人去的地方,越容易藏汙納垢,Bug 也越多。
(6) 使用者介面探索 (User Interface Exploration)
這個策略不打怪也不跳躍,專門用來測試「遊戲選單」。測試員會仔細檢查主選單、圖形設定、聲音設定、按鍵綁定,還有遊戲畫面上的血條、狀態列(HUD)等傳統介面。看看瘋狂切換畫質或狂按選單會不會讓遊戲當機。
(7) 危險街區之旅 (Bad Neighborhood Tour)
俗話說「有蟑螂的地方絕對不只一隻」,這招就是基於「Bug 會有群聚效應」的理論。
當測試員在前面幾個策略中發現了 Bug,他們會把這個出事的地點標記為「危險街區」。接著,他們會針對這個 Bug 的「鄰近區域」或「相關功能」進行地毯式搜索,試圖挖出更多相關聯的漏洞。甚至,他們會測試這個 Bug 會不會「傳送」影響到下一個關卡。
第四部分:真槍實彈的測試過程
有了這七大武器,研究團隊是怎麼實際執行的呢?他們制定了一套非常嚴謹的標準作業流程:
(1) 先正常玩一遍:
測試的第一步,是讓測試員在沒有時間限制、沒有指定策略的情況下,輕輕鬆鬆地把遊戲通關。這就像是一般玩家的初體驗,目的是讓測試員熟悉操作機制、解鎖所有關卡,如果途中遇到 Bug 就順手記錄下來。
(2) 設定時間限制與關卡,輪番轟炸:
為了控制變因,除了 Game 1 因為太短所以當成一個大關卡測試外,團隊從 Game 2 到 Game 5 中,各隨機挑選了 6 個關卡。然後,將「觀光客、冒煙測試、犯罪之旅、垃圾收集、後巷之旅」這五種會動到遊戲玩法的策略,輪流應用在這些關卡上。為了講求效率,每次測試都嚴格限制時間(例如 Game 2 每個策略測 3 分鐘,複雜的 Portal 則測 10 分鐘)。
(3) 選單測試與最終收網:
留出一段專屬時間(大約 10 到 15 分鐘)進行「介面探索」測試選單。最後,攤開所有已發現的 Bug,找出潛在的「危險街區」,對這些地方進行「沒有時間限制」的最終深度探勘。
測試過程中,兩位從沒玩過這五款遊戲的測試員全程使用 OBS Studio (螢幕錄影軟體)進行螢幕錄影與錄音。當他們發現 Bug 時,會根據嚴重程度分成三級:
第五部分:實驗結果與數據解密
兩位測試員總共進行了 152 個測試回合,耗費超過25 個小時。結果超級豐收:他們總共抓出了 111 個 Bug(其中 105 個是獨一無二的漏洞)!
具體分布為:
從這堆積如山的數據中,研究團隊得出了幾個非常關鍵的發現:
發現 1:七大招幾乎不需修改就能完美適用。
有五種玩法探索策略,只需稍微調整定義,就能完美融入遊戲測試中,並且在所有遊戲中都成功抓出漏洞。
發現 2:「介面探索」CP值極高。
對於有傳統選單的遊戲來說,這招只要花一次測試的時間,就能有效抓出很多介面相關的 Bug。在效率上(每分鐘發現漏洞數),這招的表現是最好的,在 Game 4 甚至達到每分鐘抓出 0.532 個 Bug 的超高效率。
發現 3:「危險街區」是收尾神技。
把這招放在最後執行,成功在 4 款遊戲中「順藤摸瓜」挖出了全新的 Bug,還幫忙釐清了前面 Bug 發生的真正原因。
發現 4:每一招都能抓出「致命(高嚴重度)Bug」。
所有的策略都有抓出高嚴重度漏洞的紀錄。其中,「觀光客策略」、「探索性冒煙測試」和「後巷之旅」最猛,能在 4 款不同的遊戲中都抓出致命 Bug。至於「中嚴重度」的 Bug,最一開始的「正常玩一遍」反而最容易發現。
發現 6:不同的遊戲,適合不同的打法。
這點非常有趣。在 Game 1 裡,走偏門的「後巷之旅」效率最高;在 Game 2 中,像個完美主義者的「觀光客策略」最吃香;在 Game 3 跟 4 中,隨便亂搞的「冒煙測試」抓出最多蟲;而在機制最複雜的 Game 5 中,用競速通關心態的「垃圾收集者之旅」反而逼出了最多的 Bug。這證明了為什麼我們需要這麼多種不同的策略來互相搭配。
第六部分:血淚經驗談
這篇文獻不僅僅是秀數據,它還為未來的遊戲測試員與開發者,總結出了價值連城的實務指南:
(1) 測試不僅抓 Bug,還能預防「玩家暈眩」
在測試 3D 大作《傳送門》(Game 4) 時,測試員因為頻繁轉動視角,發生了嚴重的「3D暈(Motion sickness)」,甚至必須暫停測試去旁邊休息。團隊上論壇一查,發現玩家社群早就罵聲連連。這告訴我們一個寶貴的經驗:如果 ET 測試能在遊戲上市前(Pre-release)就進行,開發團隊就能提早發現這種「影響生理體驗」的 UX 問題,並提前加入「關閉動態模糊」或「調整視野(FOV)」的選項來預防玩家不適。
(2) 拜託一定要全程錄影!
測試員在玩遊戲時,常常會遇到一種情況:「等等,剛剛那個奇怪的現象是 Bug,還是開發團隊故意藏的彩蛋(Easter egg)?」。強烈建議所有測試都要用 OBS 錄影,並且測試員要邊玩邊「講述」自己的思考過程。有了錄影回放,事後在跟工程師對質時,就能精準還原現場,省下無數溝通成本。
(3) 給測試員開「外掛(特權)」吧
測試員的時間很寶貴,如果為了測試後期的關卡,每次都要重新打怪通關,那真的是浪費生命。研究建議,開發者必須在測試版中提供「後門」,讓測試員可以自由切換關卡、隨意生出需要的道具,甚至解除通關的時間限制。這樣測試員才能把精力全神貫注在「執行策略」上。
第七部分:推薦的「黃金測試九步驟」與策略順序
基於這些實戰經驗,研究團隊整理出了一套包含九個步驟的標準工作流:
先正常玩一次 ➔
記錄 Bug ➔
規劃各策略的測試回合 ➔
執行測試 ➔
記錄 Bug ➔
評估有沒有「危險街區」可挖 ➔
為危險街區規劃新測試 ➔
執行新測試 ➔
記錄最終結果。
不僅如此,他們連「七大策略該先用哪一個」都幫你想好了:
(1) 先正常玩 (Single Session):先搞懂遊戲在玩什麼。
(2) 介面探索 (UI):隨時都可以測,建議可以早點把選單測完。
(3) 觀光客策略 (Tour Bus):進入核心測試後先用這招,廣泛且不過度深入地把遊戲摸一遍。
(4) 犯罪之旅 (Crime Spree):找到特定可疑功能後,開始用力破壞它。
(5) 垃圾收集者 (Garbage Collectors):當你對遊戲夠熟了,就用這招進行極速通關,測試遊戲的極限處理能力。
(6) 後巷之旅 (Back Alley):此時你已經完全掌握遊戲全貌,最適合去尋找那些冷門、隱藏的角落。
(7) 冒煙測試 (Smoke Testing):擁有了豐富經驗後,用這招進行無腦的隨機破壞,解答所有「如果這樣做會怎樣」的疑問。
(8) 危險街區 (Bad Neighborhood):最後,統整所有戰利品,針對出事地點進行最終的收網掃蕩。
這項研究成功證明了,將「探索性測試(ET)」導入數位遊戲中,是一條非常可行且高效率的道路。透過在三款 2D 獨立遊戲與兩款 3D 商業大作上的實測,這七大策略成功揪出了上百個不同嚴重程度的漏洞。